package cn.bugstack.initializr.rigger.domain.service.module.impl;

import cn.bugstack.initializr.rigger.domain.model.GeneratorInfo;
import cn.bugstack.initializr.rigger.domain.model.ProjectInfo;
import cn.bugstack.initializr.rigger.domain.service.module.BaseModule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import java.io.File;

@Service
public class GenerationGeneratorInfo extends BaseModule {
    private Logger logger = LoggerFactory.getLogger(GenerationGeneratorInfo.class);

    public void doGeneration(ProjectInfo projectInfo, String projectsRoot) throws Exception {
        GeneratorInfo generatorInfo = new GeneratorInfo(projectInfo.getName());
        File file = new File(
                projectsRoot + projectInfo.getArtifactId() + "/src/main/java/utils/",
                "GeneratorcodeUtil.java"
        );

        // 写入文件
        super.writeFile(file, "GeneratorcodeUtil.ftl", generatorInfo);

        logger.info("创建配置文件 "+projectInfo.getName()+".java {}", file.getPath());
    }
}
